[INFO] fetching crate byteplug 0.0.1...
[INFO] fixing byteplug-0.0.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate byteplug 0.0.1 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate byteplug 0.0.1
[INFO] finished tweaking crates.io crate byteplug 0.0.1
[INFO] tweaked toml for crates.io crate byteplug 0.0.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate byteplug 0.0.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate byteplug 0.0.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2939e5537aff7ac5249363ccdb0a3c5eba85d206d687c850297dd6a61069e51e
[INFO] running `Command { std: "docker" "start" "2939e5537aff7ac5249363ccdb0a3c5eba85d206d687c850297dd6a61069e51e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2939e5537aff7ac5249363ccdb0a3c5eba85d206d687c850297dd6a61069e51e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2939e5537aff7ac5249363ccdb0a3c5eba85d206d687c850297dd6a61069e51e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2939e5537aff7ac5249363ccdb0a3c5eba85d206d687c850297dd6a61069e51e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   log v0.4.8 removed features: std
[INFO] [stderr] 
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling xml-rs v0.8.0
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling cc v1.0.48
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking arrayvec v0.5.1
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling pkg-config v0.3.17
[INFO] [stderr]     Checking downcast-rs v1.1.1
[INFO] [stderr]     Checking same-file v1.0.5
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]     Checking walkdir v2.2.9
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]     Checking smallvec v1.0.0
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]     Checking lock_api v0.3.2
[INFO] [stderr]    Compiling khronos_api v1.0.1
[INFO] [stderr]    Compiling xml-rs v0.6.1
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]     Checking instant v0.1.2
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling gl_generator v0.5.5
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]    Compiling gl_generator v0.13.1
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking parking_lot_core v0.7.0
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking dlib v0.4.1
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking rusttype v0.8.2
[INFO] [stderr]     Checking parking_lot v0.10.0
[INFO] [stderr]     Checking mio v0.6.21
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.4
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.6
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]    Compiling byteplug v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating build.rs from 2018 edition to 2021
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking calloop v0.4.4
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]     Checking smithay-client-toolkit v0.6.6
[INFO] [stderr]     Checking winit v0.22.2
[INFO] [stderr]     Checking glutin v0.24.0
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/helloworld.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/modules.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.24s
[INFO] [stderr] crater-edition-check: byteplug v0.0.1 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling gl_generator v0.13.1
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]     Checking mio v0.6.21
[INFO] [stderr]    Compiling gl_generator v0.5.5
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.6
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.4
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]    Compiling byteplug v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking calloop v0.4.4
[INFO] [stderr]     Checking wayland-client v0.23.6
[INFO] [stderr]     Checking wayland-protocols v0.23.6
[INFO] [stderr]     Checking smithay-client-toolkit v0.6.6
[INFO] [stderr]     Checking winit v0.22.2
[INFO] [stderr]     Checking glutin v0.24.0
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/lib.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[link(name="GLESv2")] extern {}
[INFO] [stdout]    |                        ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/byteplug-acb6f513dcf62b38/out/bindings.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |             pub use std::mem;
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::draw::gl`
[INFO] [stdout]   --> src/draw/context.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::draw::gl;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gl`
[INFO] [stdout]   --> src/application/window.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::draw::{gl, Surface};
[INFO] [stdout]    |                   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/lib.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[link(name="GLESv2")] extern {}
[INFO] [stdout]    |                        ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/byteplug-acb6f513dcf62b38/out/bindings.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |             pub use std::mem;
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::draw::gl`
[INFO] [stdout]   --> src/draw/context.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::draw::gl;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gl`
[INFO] [stdout]   --> src/application/window.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::draw::{gl, Surface};
[INFO] [stdout]    |                   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:207:22
[INFO] [stdout]     |
[INFO] [stdout] 207 |             control: input.modifiers.ctrl(),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:208:20
[INFO] [stdout]     |
[INFO] [stdout] 208 |             shift: input.modifiers.shift(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |             alternate: input.modifiers.alt(),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:210:21
[INFO] [stdout]     |
[INFO] [stdout] 210 |             system: input.modifiers.logo()
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:358:78
[INFO] [stdout]     |
[INFO] [stdout] 358 |             winit::event::WindowEvent::CursorMoved { device_id: _, position, modifiers } => {
[INFO] [stdout]     |                                                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:361:82
[INFO] [stdout]     |
[INFO] [stdout] 361 |             winit::event::WindowEvent::MouseInput { device_id: _, state, button, modifiers }=> {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseWheel::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:364:81
[INFO] [stdout]     |
[INFO] [stdout] 364 |             winit::event::WindowEvent::MouseWheel { device_id: _, delta, phase, modifiers } => {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/draw/surface.rs:76:28
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn new(size: Size, options: Options) -> Surface {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/application/window.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let (mut raw_context, window) = unsafe {
[INFO] [stdout]    |              ----^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_synthetic`
[INFO] [stdout]    --> src/application/window.rs:203:99
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn handle_keyboard_input(&mut self, states: &mut States, input: &winit::event::KeyboardInput, is_synthetic: &bool) {
[INFO] [stdout]     |                                                                                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_synthetic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `states`
[INFO] [stdout]    --> src/application/window.rs:283:27
[INFO] [stdout]     |
[INFO] [stdout] 283 |                           states: &mut States,
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_states`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/application/window.rs:284:27
[INFO] [stdout]     |
[INFO] [stdout] 284 |                           state: &winit::event::ElementState,
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/application/window.rs:285:27
[INFO] [stdout]     |
[INFO] [stdout] 285 |                           button: &winit::event::MouseButton,
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/application/window.rs:286:27
[INFO] [stdout]     |
[INFO] [stdout] 286 |                           modifiers: &winit::event::ModifiersState) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifiers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `depth_bits`, `stencil_bits`, `antialiasing_level`, `srgb`, `vsync`, and `debug` are never read
[INFO] [stdout]   --> src/draw/options.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Options {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     depth_bits: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 11 |     stencil_bits: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 12 |     antialiasing_level: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     srgb: Option<u32>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 14 |     vsync: Option<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 15 |     debug: Option<u32>
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `render_buffer`, `frame_buffer`, and `size` are never read
[INFO] [stdout]   --> src/draw/surface.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Surface {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 65 |     context: Option<UnderlyingContext>, // shouldn't be a Option, but the make_current() methods consume themselves
[INFO] [stdout] 66 |     render_buffer: u32, // not used in the case of a window surface
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 67 |     frame_buffer: u32,  // not used in the case of a window surface
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 68 |     size: Size
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_shader` and `fragment_shader` are never read
[INFO] [stdout]   --> src/draw/shader.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Shader {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 20 |     vertex_shader: gl::types::GLuint,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 21 |     fragment_shader: gl::types::GLuint,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DEFAULT_SHADER` is never used
[INFO] [stdout]   --> src/draw/default_shader.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | static mut DEFAULT_SHADER: Option<Shader> = None;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERTEX_SHADER_SRC` is never used
[INFO] [stdout]   --> src/draw/default_shader.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const VERTEX_SHADER_SRC: &'static [u8] = b"
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAGMENT_SHADER_SRC` is never used
[INFO] [stdout]   --> src/draw/default_shader.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const FRAGMENT_SHADER_SRC: &'static [u8] = b"
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_default_shader` is never used
[INFO] [stdout]   --> src/draw/default_shader.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn ensure_default_shader() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_or_create_default_shader` is never used
[INFO] [stdout]   --> src/draw/default_shader.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn get_or_create_default_shader() -> &'static mut Shader {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pressed_keys` is never read
[INFO] [stdout]    --> src/controller/keyboard.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct Keyboard {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 140 |     pressed_keys: HashMap<Key, ()>
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `title` and `window` are never read
[INFO] [stdout]   --> src/application/window.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Window<States> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 47 |     title: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     window: winit::window::Window,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/draw/context.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |         match &CONTEXT {
[INFO] [stdout]    |               ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 18 |         match &raw const CONTEXT {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 13 - static mut CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout] 13 + static CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/draw/context.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         CONTEXT.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 13 - static mut CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout] 13 + static CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/draw/default_shader.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |         match &DEFAULT_SHADER {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 43 |         match &raw const DEFAULT_SHADER {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/draw/default_shader.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         DEFAULT_SHADER.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/application/event_loop.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |         match &EVENT_LOOP {
[INFO] [stdout]    |               ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 15 |         match &raw const EVENT_LOOP {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 10 - static mut EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout] 10 + static EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/application/event_loop.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         EVENT_LOOP.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 10 - static mut EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout] 10 + static EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:207:22
[INFO] [stdout]     |
[INFO] [stdout] 207 |             control: input.modifiers.ctrl(),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:208:20
[INFO] [stdout]     |
[INFO] [stdout] 208 |             shift: input.modifiers.shift(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |             alternate: input.modifiers.alt(),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:210:21
[INFO] [stdout]     |
[INFO] [stdout] 210 |             system: input.modifiers.logo()
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:358:78
[INFO] [stdout]     |
[INFO] [stdout] 358 |             winit::event::WindowEvent::CursorMoved { device_id: _, position, modifiers } => {
[INFO] [stdout]     |                                                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:361:82
[INFO] [stdout]     |
[INFO] [stdout] 361 |             winit::event::WindowEvent::MouseInput { device_id: _, state, button, modifiers }=> {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseWheel::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:364:81
[INFO] [stdout]     |
[INFO] [stdout] 364 |             winit::event::WindowEvent::MouseWheel { device_id: _, delta, phase, modifiers } => {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/draw/surface.rs:76:28
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn new(size: Size, options: Options) -> Surface {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/application/window.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let (mut raw_context, window) = unsafe {
[INFO] [stdout]    |              ----^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_synthetic`
[INFO] [stdout]    --> src/application/window.rs:203:99
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn handle_keyboard_input(&mut self, states: &mut States, input: &winit::event::KeyboardInput, is_synthetic: &bool) {
[INFO] [stdout]     |                                                                                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_synthetic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `states`
[INFO] [stdout]    --> src/application/window.rs:283:27
[INFO] [stdout]     |
[INFO] [stdout] 283 |                           states: &mut States,
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_states`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/application/window.rs:284:27
[INFO] [stdout]     |
[INFO] [stdout] 284 |                           state: &winit::event::ElementState,
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/application/window.rs:285:27
[INFO] [stdout]     |
[INFO] [stdout] 285 |                           button: &winit::event::MouseButton,
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/application/window.rs:286:27
[INFO] [stdout]     |
[INFO] [stdout] 286 |                           modifiers: &winit::event::ModifiersState) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifiers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `depth_bits`, `stencil_bits`, `antialiasing_level`, `srgb`, `vsync`, and `debug` are never read
[INFO] [stdout]   --> src/draw/options.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Options {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     depth_bits: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 11 |     stencil_bits: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 12 |     antialiasing_level: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     srgb: Option<u32>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 14 |     vsync: Option<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 15 |     debug: Option<u32>
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `render_buffer`, `frame_buffer`, and `size` are never read
[INFO] [stdout]   --> src/draw/surface.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Surface {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 65 |     context: Option<UnderlyingContext>, // shouldn't be a Option, but the make_current() methods consume themselves
[INFO] [stdout] 66 |     render_buffer: u32, // not used in the case of a window surface
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 67 |     frame_buffer: u32,  // not used in the case of a window surface
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 68 |     size: Size
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_shader` and `fragment_shader` are never read
[INFO] [stdout]   --> src/draw/shader.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Shader {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 20 |     vertex_shader: gl::types::GLuint,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 21 |     fragment_shader: gl::types::GLuint,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DEFAULT_SHADER` is never used
[INFO] [stdout]   --> src/draw/default_shader.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | static mut DEFAULT_SHADER: Option<Shader> = None;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERTEX_SHADER_SRC` is never used
[INFO] [stdout]   --> src/draw/default_shader.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const VERTEX_SHADER_SRC: &'static [u8] = b"
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAGMENT_SHADER_SRC` is never used
[INFO] [stdout]   --> src/draw/default_shader.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const FRAGMENT_SHADER_SRC: &'static [u8] = b"
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_default_shader` is never used
[INFO] [stdout]   --> src/draw/default_shader.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn ensure_default_shader() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_or_create_default_shader` is never used
[INFO] [stdout]   --> src/draw/default_shader.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn get_or_create_default_shader() -> &'static mut Shader {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pressed_keys` is never read
[INFO] [stdout]    --> src/controller/keyboard.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct Keyboard {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 140 |     pressed_keys: HashMap<Key, ()>
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `title` and `window` are never read
[INFO] [stdout]   --> src/application/window.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Window<States> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 47 |     title: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     window: winit::window::Window,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/draw/context.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |         match &CONTEXT {
[INFO] [stdout]    |               ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 18 |         match &raw const CONTEXT {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 13 - static mut CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout] 13 + static CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/draw/context.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         CONTEXT.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 13 - static mut CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout] 13 + static CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.81s
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/draw/default_shader.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |         match &DEFAULT_SHADER {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 43 |         match &raw const DEFAULT_SHADER {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/draw/default_shader.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         DEFAULT_SHADER.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/application/event_loop.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |         match &EVENT_LOOP {
[INFO] [stdout]    |               ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 15 |         match &raw const EVENT_LOOP {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 10 - static mut EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout] 10 + static EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/application/event_loop.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         EVENT_LOOP.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 10 - static mut EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout] 10 + static EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   log v0.4.8 removed features: std
[INFO] [stderr] 
[INFO] [stderr]     Checking byteplug v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/lib.rs (1 fix)
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/draw/context.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |         match &CONTEXT {
[INFO] [stdout]    |               ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 18 |         match &raw const CONTEXT {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 13 - static mut CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout] 13 + static CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed /opt/rustwide/target/debug/build/byteplug-acb6f513dcf62b38/out/bindings.rs (1 fix)
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/draw/context.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         CONTEXT.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 13 - static mut CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout] 13 + static CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/draw/default_shader.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |         match &DEFAULT_SHADER {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 43 |         match &raw const DEFAULT_SHADER {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/draw/default_shader.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         DEFAULT_SHADER.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/application/event_loop.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |         match &EVENT_LOOP {
[INFO] [stdout]    |               ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 15 |         match &raw const EVENT_LOOP {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 10 - static mut EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout] 10 + static EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/application/event_loop.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         EVENT_LOOP.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 10 - static mut EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout] 10 + static EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/helloworld.rs from 2021 edition to 2024
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/draw/context.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |         match &CONTEXT {
[INFO] [stdout]    |               ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 18 |         match &raw const CONTEXT {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 13 - static mut CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout] 13 + static CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/draw/context.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         CONTEXT.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 13 - static mut CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout] 13 + static CONTEXT: Option<Context<NotCurrent>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/draw/default_shader.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |         match &DEFAULT_SHADER {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 43 |         match &raw const DEFAULT_SHADER {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/draw/default_shader.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         DEFAULT_SHADER.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/application/event_loop.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |         match &EVENT_LOOP {
[INFO] [stdout]    |               ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 15 |         match &raw const EVENT_LOOP {
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 10 - static mut EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout] 10 + static EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/application/event_loop.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         EVENT_LOOP.as_mut().unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 10 - static mut EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout] 10 + static EVENT_LOOP: Option<EventLoop<()>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/modules.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.08s
[INFO] [stderr] crater-edition-check: byteplug v0.0.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling byteplug v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/byteplug-acb6f513dcf62b38/out/bindings.rs:1126:9
[INFO] [stdout]      |
[INFO] [stdout] 1126 | /         extern "system" {
[INFO] [stdout] 1127 | | #[link_name="glActiveShaderProgram"]
[INFO] [stdout] 1128 | |             pub fn ActiveShaderProgram(pipeline: types::GLuint, program: types::GLuint) -> ();
[INFO] [stdout] 1129 | | #[link_name="glActiveTexture"]
[INFO] [stdout] ...    |
[INFO] [stdout] 1842 | |             pub fn WaitSync(sync: types::GLsync, flags: types::GLbitfield, timeout: types::GLuint64) -> ();
[INFO] [stdout] 1843 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/lib.rs:41:31
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[link(name="GLESv2")] unsafe extern {}
[INFO] [stdout]    |                               ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/byteplug-acb6f513dcf62b38/out/bindings.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |             pub use std::mem;
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::draw::gl`
[INFO] [stdout]   --> src/draw/context.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::draw::gl;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gl`
[INFO] [stdout]   --> src/application/window.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::draw::{gl, Surface};
[INFO] [stdout]    |                   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/byteplug-acb6f513dcf62b38/out/bindings.rs:1126:9
[INFO] [stdout]      |
[INFO] [stdout] 1126 | /         extern "system" {
[INFO] [stdout] 1127 | | #[link_name="glActiveShaderProgram"]
[INFO] [stdout] 1128 | |             pub fn ActiveShaderProgram(pipeline: types::GLuint, program: types::GLuint) -> ();
[INFO] [stdout] 1129 | | #[link_name="glActiveTexture"]
[INFO] [stdout] ...    |
[INFO] [stdout] 1842 | |             pub fn WaitSync(sync: types::GLsync, flags: types::GLbitfield, timeout: types::GLuint64) -> ();
[INFO] [stdout] 1843 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/lib.rs:41:31
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[link(name="GLESv2")] unsafe extern {}
[INFO] [stdout]    |                               ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/byteplug-acb6f513dcf62b38/out/bindings.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |             pub use std::mem;
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::draw::gl`
[INFO] [stdout]   --> src/draw/context.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::draw::gl;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gl`
[INFO] [stdout]   --> src/application/window.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::draw::{gl, Surface};
[INFO] [stdout]    |                   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:207:22
[INFO] [stdout]     |
[INFO] [stdout] 207 |             control: input.modifiers.ctrl(),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:208:20
[INFO] [stdout]     |
[INFO] [stdout] 208 |             shift: input.modifiers.shift(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |             alternate: input.modifiers.alt(),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:210:21
[INFO] [stdout]     |
[INFO] [stdout] 210 |             system: input.modifiers.logo()
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:358:78
[INFO] [stdout]     |
[INFO] [stdout] 358 |             winit::event::WindowEvent::CursorMoved { device_id: _, position, modifiers } => {
[INFO] [stdout]     |                                                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:361:82
[INFO] [stdout]     |
[INFO] [stdout] 361 |             winit::event::WindowEvent::MouseInput { device_id: _, state, button, modifiers }=> {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseWheel::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:364:81
[INFO] [stdout]     |
[INFO] [stdout] 364 |             winit::event::WindowEvent::MouseWheel { device_id: _, delta, phase, modifiers } => {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:207:22
[INFO] [stdout]     |
[INFO] [stdout] 207 |             control: input.modifiers.ctrl(),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:208:20
[INFO] [stdout]     |
[INFO] [stdout] 208 |             shift: input.modifiers.shift(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |             alternate: input.modifiers.alt(),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:210:21
[INFO] [stdout]     |
[INFO] [stdout] 210 |             system: input.modifiers.logo()
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:358:78
[INFO] [stdout]     |
[INFO] [stdout] 358 |             winit::event::WindowEvent::CursorMoved { device_id: _, position, modifiers } => {
[INFO] [stdout]     |                                                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:361:82
[INFO] [stdout]     |
[INFO] [stdout] 361 |             winit::event::WindowEvent::MouseInput { device_id: _, state, button, modifiers }=> {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseWheel::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> src/application/window.rs:364:81
[INFO] [stdout]     |
[INFO] [stdout] 364 |             winit::event::WindowEvent::MouseWheel { device_id: _, delta, phase, modifiers } => {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/draw/surface.rs:76:28
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn new(size: Size, options: Options) -> Surface {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/draw/surface.rs:76:28
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn new(size: Size, options: Options) -> Surface {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/application/window.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let (mut raw_context, window) = unsafe {
[INFO] [stdout]    |              ----^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_synthetic`
[INFO] [stdout]    --> src/application/window.rs:203:99
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn handle_keyboard_input(&mut self, states: &mut States, input: &winit::event::KeyboardInput, is_synthetic: &bool) {
[INFO] [stdout]     |                                                                                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_synthetic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `states`
[INFO] [stdout]    --> src/application/window.rs:283:27
[INFO] [stdout]     |
[INFO] [stdout] 283 |                           states: &mut States,
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_states`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/application/window.rs:284:27
[INFO] [stdout]     |
[INFO] [stdout] 284 |                           state: &winit::event::ElementState,
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/application/window.rs:285:27
[INFO] [stdout]     |
[INFO] [stdout] 285 |                           button: &winit::event::MouseButton,
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/application/window.rs:286:27
[INFO] [stdout]     |
[INFO] [stdout] 286 |                           modifiers: &winit::event::ModifiersState) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifiers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/application/window.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let (mut raw_context, window) = unsafe {
[INFO] [stdout]    |              ----^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_synthetic`
[INFO] [stdout]    --> src/application/window.rs:203:99
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn handle_keyboard_input(&mut self, states: &mut States, input: &winit::event::KeyboardInput, is_synthetic: &bool) {
[INFO] [stdout]     |                                                                                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_synthetic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `states`
[INFO] [stdout]    --> src/application/window.rs:283:27
[INFO] [stdout]     |
[INFO] [stdout] 283 |                           states: &mut States,
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_states`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/application/window.rs:284:27
[INFO] [stdout]     |
[INFO] [stdout] 284 |                           state: &winit::event::ElementState,
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/application/window.rs:285:27
[INFO] [stdout]     |
[INFO] [stdout] 285 |                           button: &winit::event::MouseButton,
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/application/window.rs:286:27
[INFO] [stdout]     |
[INFO] [stdout] 286 |                           modifiers: &winit::event::ModifiersState) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifiers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `byteplug` (lib) due to 1 previous error; 18 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `byteplug` (lib test) due to 1 previous error; 18 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "2939e5537aff7ac5249363ccdb0a3c5eba85d206d687c850297dd6a61069e51e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2939e5537aff7ac5249363ccdb0a3c5eba85d206d687c850297dd6a61069e51e", kill_on_drop: false }`
[INFO] [stdout] 2939e5537aff7ac5249363ccdb0a3c5eba85d206d687c850297dd6a61069e51e
